Multimedia content, e.g. photos, video clips, text files, game files, audio files, may be stored on a multitude of servers and repositories that clients can access when needed or upon request by a user. Different levels of security and authorization may be put in place to protect access to these servers. Some servers may be publicly available whereas other ones may necessitate a prior authorization check before any access can be granted thereby only letting authorized users access the stored content. In addition, data communications between a client and accessed servers may be encrypted to provide a higher level of security thus protecting the communication from eavesdropping, unauthorized access and data corruption. This is especially true for communications among clients and servers over a wireless medium.
Technologies, on which servers and memories can be built, may vary from one vendor to another and, in some instances, may not permit devices of different vendors to interoperate. For example, most servers may have their own way of referencing stored content and one server may not understand another server's indexing of the stored items. The manner of formulating content queries and/or query responses may also depend on the server type. In addition, a given server and/or associated repository may have a richer collection of items than another and, in the instance where both servers do not use the same files naming convention, a client querying them may not be able to compare or classify items received from the two servers.
Problems may therefore arise when servers with large content collections using proprietary indexing and protocols try to collaborate and operate in the same distributed network. Various solutions have been contemplated to partly solve these issues. One solution is to gather knowledge of data available at each server and centralize this knowledge at one point in the network for future reference and queries to the servers. Such centralized knowledge is often referred to as a directory service of a distributed computing environment. In massively distributed information systems, it can be expensive and in some cases almost impossible to centrally index all the information due to the large number of information sources available. Other strategies may be employed to conduct searches that cover numerous servers. For example, a client may contact only those sources that may have relevant data or, intermediate servers may reroute client's requests following a hierarchical mapping of the servers.
A method for formulating queries in a distributed information system is disclosed in U.S. Pat. No. 6,490,589 issued Dec. 3, 2002 to Weider. This document pertains to a distributed directory service including data sources, index servers and a client. The proposed method involves generating information indicative of a mapping of the schema of each data source to the schema of its corresponding index server. The mapping information for each data source is provided to its index server. Upon receiving a query from a client at a particular index server, the mapping information for a selected data source is used to rewrite the query, and the rewritten query is provided to the client. Typically, the mapping information will be provided to the client along with a referral to the selected data source. The client may then use the referral to submit the rewritten query to the selected source. The rewritten query is formulated so as to be compatible with the schema used by the selected source.
The solution proposed by the above-mentioned US patent document is designed for large distributed networks but may turn out relatively less efficient for smaller networks of information sources. Indeed, such solution may overload the communication traffic over small networks and the rewrite of commands may not enable prompt query response as it can be expected on less populated networks.